﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//int main()
//{
//	int n = 10;
//	int* p = &n;//把a的地址存入 int*类型 指针变量 p 中
//	char* pc = (char*)&n;//再把a的地址存入 char*类型 指针变量 pc 中
//	printf("%p\n", &n);
//	printf("%p\n", pc);
//	printf("%p\n", pc + 1);
//	printf("%p\n", p);
//	printf("%p\n", p + 1);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	int n = 0x11223344;
//	char* pc = (char*)&n;
//	int* pi = &n;
//	*pc = 0;
//	printf("%x\n", n);
//	*pi = 0;
//	printf("%x\n", n);
//	return 0;
//}
#include <stdio.h>
#include <string.h>

void Reverse(char* str)
{
    char* left = str;
    char* right = str + strlen(str) - 1;
    while (left < right)
    {
        char temp = *left;
        *left = *right;
        *right = temp;
        left++;
        right--;
    }
}


int main()
{
    char arr[50] = { 0 };
    gets(arr);
    Reverse(arr);
    printf("%s\n", arr);
    
    return 0;
}


//用C语言在屏幕上输出以下图案：

//#define ROW 13
//
//int main()
//{
//	int i = 0;
//	int j = 0;
//	//上半部分
//	for (i = 0; i < ROW / 2; i++)
//	{
//		//打印空格
//		for (j = ROW / 2 - i; j > 0; j--)
//		{
//			printf(" ");
//		}
//		//打印*
//		for (j = (i+1)*2 -1; j > 0; j--)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	//下半部分
//	for (i = 0; i <= ROW / 2; i++)
//	{
//		//打印空格
//		for (j = i; j > 0; j--)
//		{
//			printf(" ");
//		}
//		//打印*
//		for (j = ROW - i * 2; j > 0; j--)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	return 0;
//}



//求出0～100000之间的所有“水仙花数”并输出。
//“水仙花数”是指一个n位数，其各位数字的n次
//方之和确好等于该数本身，如 : 153＝1 ^ 3＋5 ^
//3＋3 ^ 3，则153是一个“水仙花数”。
//#include <math.h>
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 100000; i++)
//	{
//		int n = 0;//代表次方
//		int sum = 0;//求和
//		//计算这个数是几位数
//		int t = i;
//		while (t)
//		{
//			n++;
//			t /= 10;
//		}
//
//		t = i;
//		//计算这个数各个位n次方的和
//		while (t)
//		{
//			sum += (int)pow(t % 10, n);
//			t /= 10;
//		}
//		
//		//判断是否是水仙花数
//		if (sum == i)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//#define N_VALUES 5
//int main()
//{
//	float values[N_VALUES];
//	float* vp;
//	//指针+-整数；指针的关系运算
//	for (vp = &values[0]; vp < &values[N_VALUES];)
//	{
//		*vp++ = 0;
//	}
//	return 0;
//}


//int main()
//{
//	int arr[10] = { 0 };
//	char arr1[10] = { 0 };
//	printf("%d ",arr - &arr[10]);
//
//	return 0;
//}

//int my_strlen(char* s)
//{
//	char* p = s;
//	while (*p != '\0')
//		p++;
//	return p - s;
//}
//int main()
//{
//	char arr[] = "hello word";
//	int ret = my_strlen(arr);
//	printf("%d ", ret);
//	return 0;
//}